A checksum or hash sum is a fixed-size datum computed from an arbitrary block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. The integrity of the data may be checked at any time by recomputing the checksum and comparing it with the stored checksum. If the checksums do not match, the data is determined to be altered.
In data processing computer storage subsystems, a storage controller often computes a checksum signature such as a Cyclic Redundancy Check (CRC). A CRC is an error-detecting code. Its computation resembles a long division operation in which the quotient is discarded and the remainder becomes the result, with the important distinction that the arithmetic used is the carry-less arithmetic of a finite field. The length of the remainder is always less than or equal to the length of the divisor, which therefore determines how long the result can be. The definition of a particular CRC specifies the divisor to be used, among other things.